home *** CD-ROM | disk | FTP | other *** search
- From coffin@ROCKY2.ROCKEFELLER.EDU Thu Mar 22 08:44:30 1990
- Flags: 000000000000
- Return-Path: <coffin@ROCKY2.ROCKEFELLER.EDU>
- Received: from ROCKY2.ROCKEFELLER.EDU by rascal.ics.utexas.edu. (4.0/SMI-4.0)
- id AA28538; Thu, 22 Mar 90 08:44:16 CST
- Received: by ROCKY2.ROCKEFELLER.EDU (5.61/1.34)
- id AA15152; Thu, 22 Mar 90 09:42:14 -0500
- Message-Id: <9003221442.AA15152@ROCKY2.ROCKEFELLER.EDU>
- To: werner@rascal.ics.utexas.edu
- Subject: scsiDocs Part6 of 7
- Date: Thu, 22 Mar 90 09:41:34 -0500
- From: coffin@ROCKY2.ROCKEFELLER.EDU
-
-
-
-
- .fo Section 10 #
- 10. Group 0 Command Descriptions for Printer Devices
-
- The Group 0 commands for printer devices shall be as shown in Table 10-1.
-
- Table 10-1
- Group 0 Commands for Printer Devices
-
- ==============================================================================
- Operation
- Code Type Command Name Section
- ------------------------------------------------------------------------------
- 00H O TEST UNIT READY 7.1.1
- 01H V
- 02H V
- 03H M REQUEST SENSE 7.1.2
- 04H O FORMAT 10.1
- 05H V
- 06H V
- 07H V
- 08H V
- 09H V
- 0AH M PRINT 10.2
- 0BH O SLEW AND PRINT 10.3
- 0CH V
- 0DH V
- 0EH V
- 0FH V
- 10H O FLUSH BUFFER 10.4
- 11H V
- 12H E INQUIRY 7.1.3
- 13H V
- 14H O RECOVER BUFFERED DATA 10.5
- 15H O MODE SELECT 10.6
- 16H O RESERVE UNIT 10.7.1
- 17H O RELEASE UNIT 10.7.2
- 18H O COPY 7.1.4
- 19H V
- 1AH O MODE SENSE 10.8
- 1BH O STOP PRINT 10.9
- 1CH O RECEIVE DIAGNOSTIC RESULTS 7.1.5
- 1DH O SEND DIAGNOSTIC 7.1.6
- 1EH R
- 1FH R
- ==============================================================================
-
- Key: M = Command implementation is mandatory.
- E = Command implementation is required for SCSI devices that support
- device-independent self-configuring software.
- O = Command implementation is optional.
- R = Operation code is reserved for future standardization.
- V = Operation code is available for vendor unique commands.
- .pa
-
- 10.1 FORMAT Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 04H
-
- Table 10-2
- FORMAT Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | Format Type |
- -----|-----------------------------------------------------------------------|
- 2 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Transfer Length |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The FORMAT command (Table 10-2) provides a means for the initiator to
- specify forms or fonts to printers that support programmable forms or fonts.
- The format information sent is vendor unique since it is peripheral-device
- specific.
-
- The format type field specifies the type of format information to be
- transferred from the initiator to the target. This field is defined as
- follows:
-
- DB(1) DB(0) Format Type
- ----- ----- -------------
- 0 0 Set Form
- 0 1 Set Font
- 1 0 Vendor Unique
- 1 1 Reserved
-
-
- The transfer length specifies the length in bytes of format information that
- shall be sent during the DATA OUT phase. A transfer length of zero indicates
- that no format information shall be sent. This condition shall not be
- considered as an error.
- .pa
-
- 10.2 PRINT Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Mandatory
- Operation Code: 0AH
-
- Table 10-3
- PRINT Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Transfer Length |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The PRINT command (Table 10-3) transfers the specified number of bytes from
- the initiator to the target to be printed. The data sent is application
- dependent.
-
- The transfer length specifies the length in bytes of data that shall be sent
- during the DATA OUT phase. A transfer length of zero indicates that no data
- shall be sent. This condition shall not be considered as an error.
- .pa
-
- 10.3 SLEW AND PRINT Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 0BH
-
- Table 10-4
- SLEW AND PRINT Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | Channel|
- -----|-----------------------------------------------------------------------|
- 2 | Slew Value |
- -----|-----------------------------------------------------------------------|
- 3 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The SLEW AND PRINT command (Table 10-4) transfers the specified number of
- bytes from the initiator to the target to be printed. The data sent is
- application dependent. This command is provided for printers that do not
- support forms control information imbedded within the print data.
-
- The transfer length specifies the length in bytes of data that shall be sent
- during the DATA OUT phase. A transfer length of zero indicates that no data
- shall be sent. This condition shall not be considered as an error.
-
- If the channel bit is zero, the slew value specifies the number of lines the
- form shall be advanced before printing. A value of 255 indicates that the
- form shall be advanced to the first line of the next form before printing. If
- the channel bit is one, the slew value specifies the forms control channel
- number to which the form shall be advanced prior to printing the data.
-
- If the channel bit is one, and the channel option is not implemented, the
- command shall be terminated with a CHECK CONDITION status and the sense key
- shall be set to ILLEGAL REQUEST.
- .pa
-
- 10.4 FLUSH BUFFER Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 10H
-
- Table 10-5
- FLUSH BUFFER Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Reserved |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The FLUSH BUFFER command (Table 10-5) provides a means for an initiator to
- ensure that the data have been successfully printed prior to releasing the
- peripheral device. This is useful for applications that wish to handle any
- error or exception conditions (e.g., end-of-medium) prior to termination of
- the application.
-
- When all buffered data are actually printed the command shall be terminated
- with a GOOD status. If it is not possible to finish printing all of the
- buffered data (due to an error or exception condition on the peripheral
- device), then this command shall be terminated with a CHECK CONDITION status
- and the appropriate sense key.
- .pa
-
- 10.5 RECOVER BUFFERED DATA Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 14H
-
- Table 10-6
- RECOVER BUFFERED DATA Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Transfer Length |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The RECOVER BUFFERED DATA command (Table 10-6) returns to the initiator the
- data that has been sent to the target, but not yet printed.
-
- This command is normally used only to recover from error or exception
- conditions that make it impossible to print the buffered data. The order in
- which the data is transferred from the target to the initiator is the same as
- it was when the data was previously transferred using the PRINT command or
- SLEW AND PRINT command. Data that is transferred by this command is deleted
- >From the target data buffer. One or more RECOVER BUFFERED DATA commands may
- be used to return the unprinted buffered data.
-
- If an attempt is made to recover more data than is contained in the buffer,
- the command shall be terminated with a CHECK CONDITION status and the sense
- key shall be set to NO SENSE. In addition, the EOM, the valid, and the ILI
- bits in extended sense shall be set to one. The information bytes shall be
- set to the difference (residue) between the transfer length and the actual
- number of bytes returned.
-
- The transfer length specifies the maximum length in bytes of data that shall
- be transferred during the DATA IN phase. A transfer length of zero indicates
- that no data shall be transferred. This condition shall not be considered as
- an error.
- .pa
-
- 10.6 MODE SELECT Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 15H
-
- Table 10-7
- MODE SELECT Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Parameter List Length |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The MODE SELECT command (Table 10-7) provides a means for the initiator to
- specify medium, logical unit, or peripheral device parameters to the target.
-
- The parameter list length specifies the length in bytes of the MODE SELECT
- parameter list that shall be transferred during the DATA OUT phase. A
- parameter list length of zero indicates that no data shall be transferred.
- This condition shall not be considered as an error. The MODE SELECT parameter
- list (Table 10-8) contains a four-byte header, followed by the vendor unique
- parameters, if any.
-
- Table 10-8
- MODE SELECT Parameter List
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Reserved |
- -----|-----------------------------------------------------------------------|
- 1 | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 |Reserved| Buffered Mode | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- ==============================================================================
- | Vendor Unique Parameter(s) |
- ==============================================================================
- 0 _ n| Vendor Unique |
- | Parameter Byte(s) |
- ==============================================================================
-
-
- A buffered mode of zero indicates that the target shall not report a GOOD
- status on PRINT commands or SLEW AND PRINT commands until the data are
- actually printed. A buffered mode of one indicates that the target may report
- a GOOD status on PRINT commands or SLEW AND PRINT commands as soon as the data
- have been transferred to the SCSI device buffer. The data from one or more
- commands may be buffered prior to printing. Buffered modes of 2H through 7H
- are reserved.
-
- 10.7 RESERVE UNIT and RELEASE UNIT Commands
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 16H and 17H, respectively
-
- Table 10-9
- RESERVE UNIT and RELEASE UNIT Commands
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | 3rdPty | Third Party Device ID |Reserved|
- -----|-----------------------------------------------------------------------|
- 2 | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Reserved |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The RESERVE UNIT and RELEASE UNIT commands both use the command descriptor
- block shown in Table 10-9.
-
- 10.7.1 RESERVE UNIT Command. The RESERVE UNIT command (Table 10-9,
- operation code 16H) shall reserve the specified logical unit for the exclusive
- use by the requesting initiator or, if third-party reservation option is
- implemented, to another specified SCSI device.
-
- The reservation shall remain in effect until superceded by another RESERVE
- UNIT command from the initiator that made the reservation or until released by
- a RELEASE UNIT command from the same initiator, or a BUS DEVICE RESET message
- >From any initiator, or a "hard" RESET condition. The occurrence of the last
- two conditions is indicated by a sense key of UNIT ATTENTION on the next
- command following the condition. It is not an error to issue this command to
- a logical unit that is currently reserved to the requesting initiator.
-
- If the logical unit is previously reserved by another initiator, then the
- target shall either:
-
- (1) return a RESERVATION CONFLICT status
-
-
- (2) queue the reservation request and disconnect until all previously
- queued reservations have been released. When the logical unit is available,
- the target shall reconnect to perform the reservation
-
- If, after honoring the reservation, any other initiator then subsequently
- attempts to perform any command on the reserved logical unit other than a
- RESERVE UNIT command, which may be queued, or a RELEASE UNIT command, which
- shall be ignored, then the command shall be rejected with a RESERVATION
- CONFLICT status.
-
- The third-party reservation option for the RESERVE UNIT command allows an
- initiator to reserve a logical unit for another SCSI device. This option is
- intended for use in multiple-initiator systems that use the COPY command. Any
- target that implements the third-party reservation option shall also implement
- the third-party release option (see 10.7.2).
-
- If the third-party (3rdPty) bit is zero, then the third-party reservation
- option is not requested. If the 3rdPty bit is one and the third-party
- reservation option is implemented, then the RESERVE UNIT command shall reserve
- the specified logical unit for the SCSI device specified in the third-party
- device ID field. The target shall preserve the reservation until superceded
- by another RESERVE UNIT command from the initiator that made the reservation
- or until released by the same initiator, by a BUS DEVICE RESET message from
- any initiator, or by a "hard" RESET condition. The target shall ignore (i.e.,
- return GOOD status) any attempt made by any other initiator to release the
- reservation.
-
- If the 3rdPty bit is one and the third-party reservation option is not
- implemented, then the target shall reject the RESERVE UNIT command with a
- CHECK CONDITION status and a sense key of ILLEGAL REQUEST.
-
- An initiator that holds a current reservation may modify that reservation
- (e.g., switch third-parties) by issuing another RESERVE UNIT command to the
- same logical unit. The superceding RESERVE UNIT command shall release the
- previous reservation state only when the new reservation is granted. A
- superceding reservation takes priority over any previously queued reservation
- request.
-
- 10.7.2 RELEASE UNIT Command. The RELEASE UNIT command (Table 10-9,
- operation code 17H) shall release the logical unit if it is currently reserved
- by the requesting initiator.
-
- It is not an error to attempt to release a logical unit that is not
- currently reserved to the requesting initiator. However, it shall not be
- released if it is reserved by another initiator.
-
- The third-party release option for the RELEASE UNIT command allows an
- initiator to release a logical unit that was previously reserved using the
- third-party reservation option (see 10.7.1). This option shall be implemented
- if the third-party reservation option is implemented. This option is intended
- for use in multiple-initiator systems that use the COPY command.
-
- If the third-party (3rdPty) bit is zero, then the third-party release option
- is not requested. If the 3rdPty bit is one and the target implements the
- third-party release option, then the target shall release the specified
- logical unit, but only if the reservation was made using the third-party
-
- reservation option by the initiator that is requesting the release and for the
- same SCSI device as specified in the third-party device ID field.
-
- If the 3rdPty bit is one and the target does not implement the third-party
- release option, then the target shall terminate the command with a CHECK
- CONDITION status and the sense key shall be set to ILLEGAL REQUEST.
-
- 10.8 MODE SENSE Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 1AH
-
- Table 10-10
- MODE SENSE Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Allocation Length |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The MODE SENSE command (Table 10-10) provides a means for a target to report
- its medium, logical unit, or peripheral device parameters to the initiator.
- It is a complementary command to the MODE SELECT command.
-
- The allocation length specifies the number of bytes that the initiator has
- allocated for returned MODE SENSE data. An allocation length of zero
- indicates that no MODE SENSE data shall be transferred. This condition shall
- not be considered as an error. Any other value indicates the maximum number
- of bytes that shall be transferred. The target shall terminate the DATA IN
- phase when allocation length bytes have been transferred or when all available
- MODE SENSE data have been transferred to the initiator, whichever is less.
-
- The MODE SENSE data (Table 10-11) contains a four-byte header, followed the
- vendor unique parameters, if any.
- .pa
-
- Table 10-11
- MODE SENSE Data
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Sense Data Length |
- -----|-----------------------------------------------------------------------|
- 1 | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 |Reserved| Buffered Mode | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- ==============================================================================
- | Vendor Unique Parameter(s) |
- ==============================================================================
- 0 _ n| Vendor Unique |
- | Parameter Byte(s) |
- ==============================================================================
-
- The sense data length specifies the length in bytes of the following MODE
- SENSE data that is available to be transferred during the DATA IN phase. The
- sense data length does not include itself.
-
- A buffered mode of zero indicates that the target does not report a GOOD
- status on PRINT commands or SLEW AND PRINT commands until the data are
- actually printed. A buffered mode of one indicates that the target may report
- a GOOD status on PRINT commands or SLEW AND PRINT commands as soon as the data
- have been transferred to the SCSI device buffer. The data from one or more
- commands may be buffered prior to printing. Buffered modes of 2H through 7H
- are reserved.
- .pa
-
- 10.9 STOP PRINT Command
-
- Peripheral Device Type: Printer
- Operation Code Type: Optional
- Operation Code: 1BH
-
- Table 10-12
- STOP PRINT Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | Retain |
- -----|-----------------------------------------------------------------------|
- 2 | Vendor Unique |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Reserved |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The STOP PRINT command (Table 10-12) is used to halt printing on buffered
- devices in an orderly fashion.
-
- A retain bit of zero requests that the target data buffer be discarded;
- otherwise, the unprinted data is retained. The unprinted data may be
- recovered by use of the RECOVER BUFFERED DATA command, if supported. A
- subsequent PRINT command or SLEW AND PRINT command shall cause the remaining
- unprinted and unrecovered data to be printed followed by the data transferred
- by the subsequent command. The point at which printing is suspended by this
- command is peripheral-device specific and is not defined by this standard.
- .pa
-
- .fo Section 11 #
- 11. Group 0 Command Descriptions for Processor Devices
-
- The Group 0 commands for processor devices shall be as shown in Table 11-1.
-
- Table 11-1
- Group 0 Commands for Processor Devices
-
- ==============================================================================
- Operation
- Code Type Command Name Section
- ------------------------------------------------------------------------------
- 00H O TEST UNIT READY 7.1.1
- 01H V
- 02H V
- 03H M REQUEST SENSE 7.1.2
- 04H V
- 05H V
- 06H V
- 07H V
- 08H O RECEIVE 11.1
- 09H V
- 0AH M SEND 11.2
- 0BH V
- 0CH V
- 0DH V
- 0EH V
- 0FH V
- 10H V
- 11H V
- 12H E INQUIRY 7.1.3
- 13H V
- 14H V
- 15H V
- 16H V
- 17H V
- 18H O COPY 7.1.4
- 19H R
- 1AH R
- 1BH R
- 1CH O RECEIVE DIAGNOSTIC RESULTS 7.1.5
- 1DH O SEND DIAGNOSTIC 7.1.6
- 1EH R
- 1FH R
- ==============================================================================
-
- Key: M = Command implementation is mandatory.
- E = Command implementation is required for SCSI devices that support
- device-independent self-configuring software.
- O = Command implementation is optional.
- R = Operation code is reserved for future standardization.
- V = Operation code is available for vendor unique commands.
- .pa
-
- 11.1 RECEIVE Command
-
- Peripheral Device Type: Processor Devices
- Operation Code Type: Optional
- Operation Code: 08H
-
- Table 11-2
- RECEIVE Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Allocation Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Allocation Length |
- -----|-----------------------------------------------------------------------|
- 4 | Allocation Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The RECEIVE command (Table 11-2) transfers data from the target to the
- initiator.
-
- The allocation length specifies the number of bytes that the initiator has
- allocated for the returned data. An allocation length of zero indicates that
- no data shall be transferred. This condition shall not be considered as an
- error. Any other value indicates the maximum number of bytes that shall be
- transferred. The target shall terminate the DATA IN phase when allocation
- length bytes have been transferred or when all available data have been
- transferred to the initiator, whichever is less.
- .pa
-
- 11.2 SEND Command
-
- Peripheral Device Type: Processor Devices
- Operation Code Type: Mandatory
- Operation Code: 0AH
-
- Table 11-3
- SEND Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Transfer Length |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The SEND command (Table 11-3) transfers data from the initiator to the
- target.
-
- The transfer length specifies the length in bytes of data that shall be sent
- during the DATA OUT phase. A transfer length of zero indicates that no data
- shall be sent. This condition shall not be considered as an error.
- .pa
-
- .fo Section 12 #
- 12. Command Descriptions for Write-Once Read-Multiple Devices
-
- 12.1 Group 0 Commands for Write-Once Read-Multiple Devices. The Group 0
- commands for write-once read-multiple devices shall be as shown in Table 12-1.
-
- Table 12-1
- Group 0 Commands for Write-Once Read-Multiple Devices
-
- ==============================================================================
- Operation
- Code Type Command Name Section
- ------------------------------------------------------------------------------
- 00H O TEST UNIT READY 7.1.1
- 01H O REZERO UNIT 8.1.1
- 02H V
- 03H M REQUEST SENSE 7.1.2
- 04H R
- 05H V
- 06H V
- 07H O REASSIGN BLOCKS 8.1.3
- 08H O READ 12.1.1
- 09H V
- 0AH O WRITE 12.1.2
- 0BH O SEEK 8.1.6
- 0CH V
- 0DH V
- 0EH V
- 0FH V
- 10H V
- 11H V
- 12H E INQUIRY 7.1.3
- 13H V
- 14H V
- 15H O MODE SELECT 12.1.3
- 16H O RESERVE 8.1.8
- 17H O RELEASE 8.1.9
- 18H O COPY 7.1.4
- 19H V
- 1AH O MODE SENSE 12.1.4
- 1BH O START/STOP UNIT 8.1.11
- 1CH O RECEIVE DIAGNOSTIC RESULTS 7.1.5
- 1DH O SEND DIAGNOSTIC 7.1.6
- 1EH O PREVENT/ALLOW MEDIUM REMOVAL 8.1.12
- 1FH R
- ==============================================================================
-
- Key: M = Command implementation is mandatory.
- E = Command implementation is required for SCSI devices that support
- device-independent self-configuring software.
- O = Command implementation is optional.
- R = Operation code is reserved for future standardization.
- V = Operation code is available for vendor unique commands.
- .pa
-
- 12.1.1 READ Command
-
- Peripheral Device Type: Write-Once Read-Multiple and
- Read-Only Direct Access
- Operation Code Type: Optional
- Operation Code: 08H
-
- Table 12-2
- READ Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number |Logical Block Address (MSB) |
- -----|-----------------------------------------------------------------------|
- 2 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 3 | Logical Block Address (LSB) |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The READ command (Table 12-2) requests that the target transfer data to the
- initiator.
-
- The logical block address specifies the logical block at which the read
- operation shall begin.
-
- The transfer length specifies the number of contiguous logical blocks of
- data to be transferred. A Transfer Length of zero indicates that 256 logical
- blocks shall be transferred. Any other value indicates the number of logical
- blocks that shall be transferred.
-
- This command shall be terminated with a status of RESERVATION CONFLICT if
- any reservation access conflict (see 8.1.8) exists and no data shall be
- transferred.
-
- If any of the following conditions occur, this command shall be terminated
- with a CHECK CONDITION status, and if extended sense is implemented, the sense
- key shall be set as indicated in the following table. This table does not
- provide an exhaustive enumeration of all conditions that may cause the CHECK
- CONDITION status.
- .pa
-
- Condition Sense Key
- ---------------------------------------------- ----------------------------
- Invalid logical block address ILLEGAL REQUEST (see note 1)
-
- Target reset or medium change since the
- last command from this initiator UNIT ATTENTION
-
- Unrecoverable read error MEDIUM ERROR
-
- Overrun or other error that might
- be resolved by repeating the command ABORTED COMMAND
-
- Attempt to read a blank or previously
- unwritten block BLANK CHECK (see note 2)
-
- NOTES:
- (1) The extended sense information bytes shall be set to the logical block
- address of the first invalid address.
-
- (2) The extended sense information bytes shall be set to the logical block
- address of the first blank block encountered. The data read up to that block
- shall be transferred.
-
- 12.1.2 WRITE Command
-
- Peripheral Device Type: Write-Once Read-Multiple
- Operation Code Type: Optional
- Operation Code: 0AH
-
- Table 12-3
- WRITE Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number |Logical Block Address (MSB) |
- -----|-----------------------------------------------------------------------|
- 2 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 3 | Logical Block Address (LSB) |
- -----|-----------------------------------------------------------------------|
- 4 | Transfer Length |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The WRITE command (Table 12-3) requests that the target write the data
- transferred from the initiator to the medium.
-
- The logical block address specifies the logical block at which the write
- operation shall begin.
-
- The transfer length specifies the number of contiguous logical blocks of
-
- data that shall be written. A transfer length of zero indicates that 256
- logical blocks shall be written. Any other value indicates the number of
- logical blocks that shall be written.
-
- This command shall be terminated with a status of RESERVATION CONFLICT if
- any reservation access conflict (see 8.1.8) exists and no data shall be
- written.
-
- If any of the following conditions occur, this command shall be terminated
- with a CHECK CONDITION status, and if extended sense is implemented, the sense
- key shall be set as indicated in the following table. This table does not
- provide an exhaustive enumeration of all conditions that may cause the CHECK
- CONDITION status.
-
- Condition Sense Key
- ---------------------------------------------- ----------------------------
- Invalid logical block address ILLEGAL REQUEST (see note 1)
-
- Target reset or medium change since the
- last command from this initiator UNIT ATTENTION
-
- Overrun or other error that might
- be resolved by repeating the command ABORTED COMMAND
-
- Attempt to write a previously
- written block and blank checking is
- enabled (see 12.1.3) BLANK CHECK (see note 2)
-
- NOTES:
- (1) The extended sense information bytes shall be set to the logical Block
- Address of the first invalid address.
-
- (2) The extended sense information bytes shall be set to the logical block
- address of the first non-blank block encountered.
- .pa
-
- 12.1.3 MODE SELECT Command
-
- Peripheral Device Type: Write-Once Read-Multiple and
- Read-Only Direct Access
- Operation Code Type: Optional
- Operation Code: 15H
-
- Table 12-4
- MODE SELECT Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Parameter List Length |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The MODE SELECT command (Table 12-4) provides a means for the initiator to
- specify medium, logical unit, or peripheral device parameters to the target.
-
- The parameter list length specifies the length in bytes of the MODE SELECT
- parameter list that shall be transferred from the initiator to the target. A
- parameter list length of zero indicates that no data shall be transferred.
- This condition shall not be considered as an error.
-
- The MODE SELECT parameter list (Table 12-5) contains a four-byte header,
- followed by zero or more eight-byte block descriptors, followed by the vendor
- unique parameters, if any.
- .pa
-
- Table 12-5
- MODE SELECT Parameter List
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Reserved |
- -----|-----------------------------------------------------------------------|
- 1 | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Reserved | EBC |
- -----|-----------------------------------------------------------------------|
- 3 | Block Descriptor Length |
- ==============================================================================
- | Block Descriptor(s) |
- ==============================================================================
- 0 | Reserved |
- -----|-----------------------------------------------------------------------|
- 1 | Number of Blocks (MSB) |
- -----|-----------------------------------------------------------------------|
- 2 | Number of Blocks |
- -----|-----------------------------------------------------------------------|
- 3 | Number of Blocks (LSB) |
- -----|-----------------------------------------------------------------------|
- 4 | Reserved |
- -----|-----------------------------------------------------------------------|
- 5 | Block Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 6 | Block Length |
- -----|-----------------------------------------------------------------------|
- 7 | Block Length (LSB) |
- ==============================================================================
- | Vendor Unique Parameter(s) |
- ==============================================================================
- 0 _ n| Vendor Unique |
- | Parameter Byte(s) |
- ==============================================================================
-
- An enable blank check (EBC) bit of zero disables blank checking of the
- medium during write operations. An EBC bit of one enables blank checking.
- If a non-blank block is found during a write operation, the command shall be
- terminated with a CHECK CONDITION status and the sense key shall be set to
- BLANK CHECK. For read-only direct-access devices, the EBC bit is reserved.
-
- The block descriptor length specifies the length in bytes of all the block
- descriptors. It is equal to the number of block descriptors times eight and
- does not include the vendor unique parameters, if any. A block descriptor
- length of zero indicates that no block descriptors shall be included in the
- parameter list. This condition shall not be considered as an error.
-
- Each block descriptor specifies the medium characteristics for all or part
- of a logical unit. Each block descriptor contains a number of blocks and a
- block length. The number of blocks field specifies the number of logical
- blocks to be formatted with the block length specified in the block
- descriptor. The block length field specifies the length in bytes of the
-
- logical block to be formatted.
-
- 12.1.4 MODE SENSE Command
-
- Peripheral Device Type: Write-Once Read-Multiple and
- Read-Only Direct Access
- Operation Code Type: Optional
- Operation Code: 1AH
-
- Table 12-6
- MODE SENSE Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved |
- -----|-----------------------------------------------------------------------|
- 2 | Reserved |
- -----|-----------------------------------------------------------------------|
- 3 | Reserved |
- -----|-----------------------------------------------------------------------|
- 4 | Allocation Length |
- -----|-----------------------------------------------------------------------|
- 5 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The MODE SENSE command (Table 12-6) provides a means for a target to report
- its medium, logical unit, or peripheral device parameters to the initiator.
- It is a complementary command to the MODE SELECT command for support of medium
- that may contain multiple block lengths.
-
- The allocation length specifies the number of bytes that the initiator has
- allocated for returned MODE SENSE Data. An allocation length of zero
- indicates that no MODE SENSE data shall be transferred. This condition shall
- not be considered as an error. Any other value indicates the maximum number
- of bytes that shall be transferred. The target shall terminate the DATA IN
- phase when allocation length bytes have been transferred or when all available
- MODE SENSE data have been transferred to the initiator, whichever is less.
-
- The MODE SENSE data (Table 12-7) contains a four-byte header, followed by
- zero or more eight-byte block descriptors, followed by the vendor unique
- parameters, if any.
- .pa
-
- Table 12-7
- MODE SENSE Data
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Sense Data Length |
- -----|-----------------------------------------------------------------------|
- 1 | Medium Type |
- -----|-----------------------------------------------------------------------|
- 2 | WP | Reserved | EBC |
- -----|-----------------------------------------------------------------------|
- 3 | Block Descriptor Length |
- ==============================================================================
- | Block Descriptor(s) |
- ==============================================================================
- 0 | Reserved |
- -----|-----------------------------------------------------------------------|
- 1 | Number of Blocks (MSB) |
- -----|-----------------------------------------------------------------------|
- 2 | Number of Blocks |
- -----|-----------------------------------------------------------------------|
- 3 | Number of Blocks (LSB) |
- -----|-----------------------------------------------------------------------|
- 4 | Reserved |
- -----|-----------------------------------------------------------------------|
- 5 | Block Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 6 | Block Length |
- -----|-----------------------------------------------------------------------|
- 7 | Block Length (LSB) |
- ==============================================================================
- | Vendor Unique Parameter(s) |
- ==============================================================================
- 0 _ n| Vendor Unique |
- | Parameter Byte(s) |
- ==============================================================================
-
- The sense data length specifies the length in bytes of the following MODE
- SENSE data that is available to be transferred during the DATA IN phase. The
- sense data length does not include itself.
-
- Code values for the medium type field shall be assigned as follows:
-
- 00H Default (only one medium type supported)
- 01H _ 7FH Reserved
- 80H _ FFH Vendor unique
-
- An enable blank check (EBC) bit of zero indicates that blank checking of the
- medium during write operations is disabled. An EBC bit of one indicates that
- blank checking during write operations is enabled. For read-only direct-
- access devices, the EBC bit is reserved.
-
- A write protected (WP) bit of zero indicates that the medium is write
- enabled. A WP bit of one indicates that the medium is write protected. For
-
- read-only direct-access devices, the WP bit is reserved.
-
- The block descriptor length specifies the length in bytes of all the block
- descriptors. It is equal to the number of block descriptors times eight and
- does not include the vendor unique parameters, if any. A block descriptor
- length of zero indicates that no block descriptors shall be included in the
- parameter list. This condition shall not be considered as an error.
-
- Each block descriptor specifies the medium characteristics for all or part
- of a logical unit. Each block descriptor contains a number of blocks and a
- block length.
-
- The number of blocks field indicates the number of logical blocks that have
- the block length specified in the block descriptor. The block length field
- indicates the length in bytes of each logical block.
- .pa ??
-
- 12.2 Group 1 Commands for Write-Once Read-Multiple Devices. The Group 1
- commands for write-once read-multiple devices shall be as shown in Table 12-8.
-
- Table 12-8
- Group 1 Commands for Write-Once Read-Multiple Devices
-
- ==============================================================================
- Operation
- Code Type Command Name Section
- ------------------------------------------------------------------------------
- 20H V
- 21H V
- 22H V
- 23H V
- 24H V
- 25H E READ CAPACITY 8.2.1
- 26H V
- 27H V
- 28H M READ 12.2.1
- 29H V
- 2AH M WRITE 12.2.2
- 2BH O SEEK 8.2.4
- 2CH V
- 2DH V
- 2EH O WRITE AND VERIFY 12.2.3
- 2FH O VERIFY 12.2.4
- 30H O SEARCH DATA HIGH 8.2.7.1
- 31H O SEARCH DATA EQUAL 8.2.7.2
- 32H O SEARCH DATA LOW 8.2.7.3
- 33H O SET LIMITS 8.2.8
- 34H R
- 35H R
- 36H R
- 37H R
- 38H R
- 39H O COMPARE 7.2.1
- 3AH O COPY AND VERIFY 7.2.2
- 3BH R
- 3CH R
- 3DH R
- 3EH R
- 3FH R
- ==============================================================================
-
- Key: M = Command implementation is mandatory.
- E = Command implementation is required for SCSI devices that support
- device-independent self-configuring software.
- O = Command implementation is optional.
- R = Operation code is reserved for future standardization.
- V = Operation code is available for vendor unique commands.
- .pa
-
- 12.2.1 READ Command
-
- Peripheral Device Type: Write-Once Read-Multiple and
- Read-Only Direct Access
- Operation Code Type: Mandatory
- Operation Code: 28H
-
- Table 12-9
- READ Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | RelAdr |
- -----|-----------------------------------------------------------------------|
- 2 | Logical Block Address (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 4 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 5 | Logical Block Address (LSB) |
- -----|-----------------------------------------------------------------------|
- 6 | Reserved |
- -----|-----------------------------------------------------------------------|
- 7 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 8 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 9 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The READ command (Table 12-9) requests that the target transfer data to the
- initiator from the medium.
-
- The logical block address specifies the logical block at which the read
- operation shall begin.
-
- The transfer length specifies the number of contiguous logical blocks of
- data that shall be transferred. A transfer length of zero indicates that no
- data shall be transferred. This condition shall not be considered as an
- error. Any other value indicates the number of logical blocks that shall be
- transferred.
-
- This command shall be terminated with a status of RESERVATION CONFLICT if
- any reservation access conflict (see 8.1.8) exists and no data shall be
- transferred.
-
- If any of the following conditions occur, this command shall be terminated
- with a CHECK CONDITION status and, if extended sense is implemented, the sense
- key shall be set as indicated in the following table. This table does not
- provide an exhaustive enumeration of all conditions that may cause the CHECK
- CONDITION status.
-
-
- Condition Sense Key
- ---------------------------------------------- ----------------------------
- Invalid logical block address ILLEGAL REQUEST (see note 1)
-
- Target reset or medium change since the
- last command from this initiator UNIT ATTENTION
-
- Overrun or other error that might
- be resolved by repeating the command ABORTED COMMAND
-
- Attempt to read a blank or previously
- unwritten block BLANK CHECK (see note 2)
-
- NOTES:
- (1) The extended sense information bytes shall be set to the logical block
- address of the first invalid address.
-
- (2) The extended sense information bytes shall be set to the logical block
- address of the first blank block encountered. The data read up to that block
- shall be transferred.
-
- 12.2.2 WRITE Command
-
- Peripheral Device Type: Write-Once Read-Multiple
- Operation Code Type: Mandatory
- Operation Code: 2AH
-
- Table 12-10
- WRITE Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | RelAdr |
- -----|-----------------------------------------------------------------------|
- 2 | Logical Block Address (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 4 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 5 | Logical Block Address (LSB) |
- -----|-----------------------------------------------------------------------|
- 6 | Reserved |
- -----|-----------------------------------------------------------------------|
- 7 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 8 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 9 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
-
- The WRITE command (Table 12-10) requests that the target write the data
- transferred from the initiator to the medium.
-
- The logical block address specifies the logical block at which the write
- operation shall begin.
-
- The transfer length specifies the number of contiguous logical blocks of
- data that shall be transferred. A transfer length of zero indicates that no
- data shall be transferred. This condition shall not be considered as an
- error and no data shall be written. Any other value indicates the number of
- logical blocks that shall be transferred.
-
- This command shall be terminated with a status of RESERVATION CONFLICT if
- any reservation access conflict (see 8.1.8) exists and no data shall be
- written.
-
- If any of the following conditions occur, this command shall be terminated
- with a CHECK CONDITION status and, if extended sense is implemented, the sense
- key shall be set as indicated in the following table. This table does not
- provide an exhaustive enumeration of all conditions that may cause the CHECK
- CONDITION status.
-
- Condition Sense Key
- ---------------------------------------------- ----------------------------
- Invalid logical block address ILLEGAL REQUEST (see note 1)
-
- Target reset or medium change since the
- last command from this initiator UNIT ATTENTION
-
- Overrun or other error that might
- be resolved by repeating the command ABORTED COMMAND
-
- Attempt to write a previously
- written block and blank checking is
- enabled (see 12.1.3) BLANK CHECK (see note 2)
-
- NOTES:
- (1) The extended sense information bytes shall be set to the logical block
- address of the first invalid address.
-
- (2) The extended sense information bytes shall be set to the logical block
- address of the first non-blank block encountered.
- .pa
-
- 12.2.3 WRITE AND VERIFY Command
-
- Peripheral Device Type: Write-Once Read-Multiple
- Operation Code Type: Optional
- Operation Code: 2EH
-
- Table 12-11
- WRITE AND VERIFY Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | BytChk | RelAdr |
- -----|-----------------------------------------------------------------------|
- 2 | Logical Block Address (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 4 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 5 | Logical Block Address (LSB) |
- -----|-----------------------------------------------------------------------|
- 6 | Reserved |
- -----|-----------------------------------------------------------------------|
- 7 | Transfer Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 8 | Transfer Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 9 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The WRITE AND VERIFY command (Table 12-11) requests that the target write
- the data transferred from the initiator to the medium and then verify that the
- data is correctly written.
-
- A byte check (BytChk) bit of zero causes the verification to be simply a
- medium verification (CRC, ECC, etc). A BytChk bit of one causes a byte-by-
- byte compare of data written to the peripheral device and the data transferred
- >From the initiator. If the compare is unsuccessful, the command shall be
- terminated with a CHECK CONDITION status and the sense key shall be set to
- MISCOMPARE.
-
- The logical block address specifies the logical block at which the write
- operation shall begin.
-
- The transfer length specifies the number of contiguous logical blocks of
- data that shall be transferred. A transfer length of zero indicates that no
- logical blocks shall be transferred. This condition shall not be considered
- as an error and no data shall be written. Any other value indicates the
- number of logical blocks that shall be transferred.
- .pa
-
- 12.2.4 VERIFY Command
-
- Peripheral Device Type: Write-Once Read-Multiple and
- Read-Only Direct Access
- Operation Code Type: Optional
- Operation Code: 2FH
-
- Table 12-12
- VERIFY Command
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 | Operation Code |
- -----|-----------------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | BlkVfy | BytChk | RelAdr |
- -----|-----------------------------------------------------------------------|
- 2 | Logical Block Address (MSB) |
- -----|-----------------------------------------------------------------------|
- 3 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 4 | Logical Block Address |
- -----|-----------------------------------------------------------------------|
- 5 | Logical Block Address (LSB) |
- -----|-----------------------------------------------------------------------|
- 6 | Reserved |
- -----|-----------------------------------------------------------------------|
- 7 | Verification Length (MSB) |
- -----|-----------------------------------------------------------------------|
- 8 | Verification Length (LSB) |
- -----|-----------------------------------------------------------------------|
- 9 | Vendor Unique | Reserved | Flag | Link |
- ==============================================================================
-
- The VERIFY command (Table 12-12) requests that the target verify the data on
- the medium.
-
- A byte check (BytChk) bit of zero causes the verification to be simply a
- medium verification (CRC, ECC, etc). A BytChk bit of one causes a byte-by-
- byte compare of the data on the medium and the data transferred from the
- initiator. The data shall be transferred as it would be for a WRITE command.
- If the compare is unsuccessful, the command shall be terminated with a CHECK
- CONDITION status and the sense key shall be set to MISCOMPARE.
-
- A blank verify (BlkVfy) bit of one causes a verification that the blocks are
- blank.
-
- The logical block address specifies the logical block at which the verify
- operation shall begin.
-
- The verification length specifies the number of contiguous logical blocks of
- data or blanks that shall be verified. A verification length of zero
- indicates that no logical blocks shall be verified. This condition shall not
- be considered as an error. Any other value indicates the number of logical
- blocks that shall be verified.
-
-
- .fo Section 13 #
- 13. Command Descriptions for Read-Only Direct-Access Devices
-
- 13.1 Group 0 Commands for Read-Only Direct-Access Devices. The Group 0
- commands for read-only direct-access devices shall be as shown in Table 13-1.
-
- Table 13-1
- Group 0 Commands for Read-Only Direct-Access Devices
-
- ==============================================================================
- Operation
- Code Type Command Name Section
- ------------------------------------------------------------------------------
- 00H O TEST UNIT READY 7.1.1
- 01H O REZERO UNIT 8.1.1
- 02H V
- 03H M REQUEST SENSE 7.1.2
- 04H R
- 05H V
- 06H V
- 07H R
- 08H O READ 12.1.1
- 09H V
- 0AH R
- 0BH O SEEK 8.1.6
- 0CH V
- 0DH V
- 0EH V
- 0FH V
- 10H V
- 11H V
- 12H E INQUIRY 7.1.3
- 13H V
- 14H V
- 15H O MODE SELECT 12.1.3
- 16H O RESERVE 8.1.8
- 17H O RELEASE 8.1.9
- 18H O COPY 7.1.4
- 19H V
- 1AH O MODE SENSE 12.1.4
- 1BH O START/STOP UNIT 8.1.11
- 1CH O RECEIVE DIAGNOSTIC RESULTS 7.1.5
- 1DH O SEND DIAGNOSTIC 7.1.6
- 1EH O PREVENT/ALLOW MEDIUM REMOVAL 8.1.12
- 1FH R
- ==============================================================================
-
- Key: M = Command implementation is mandatory.
- E = Command implementation is required for SCSI devices that support
- device-independent self-configuring software.
- O = Command implementation is optional.
- R = Operation code is reserved for future standardization.
- V = Operation code is available for vendor unique commands.
- .pa
-
- 13.2 Group 1 Commands for Read-Only Direct-Access Devices. The Group 1
- commands for read-only direct-access devices shall be as shown in Table 13-2.
-
- Table 13-2
- Group 1 Commands for Read-Only Direct-Access Devices
-
- ==============================================================================
- Operation
- Code Type Command Name Section
- ------------------------------------------------------------------------------
- 20H V
- 21H V
- 22H V
- 23H V
- 24H V
- 25H E READ CAPACITY 8.2.1
- 26H V
- 27H V
- 28H M READ 12.2.1
- 29H V
- 2AH R
- 2BH O SEEK 8.2.4
- 2CH V
- 2DH V
- 2EH R
- 2FH O VERIFY 12.2.4
- 30H O SEARCH DATA HIGH 8.2.7.1
- 31H O SEARCH DATA EQUAL 8.2.7.2
- 32H O SEARCH DATA LOW 8.2.7.3
- 33H O SET LIMITS 8.2.8
- 34H R
- 35H R
- 36H R
- 37H R
- 38H R
- 39H O COMPARE 7.2.1
- 3AH O COPY AND COMPARE 7.2.2
- 3BH R
- 3CH R
- 3DH R
- 3EH R
- 3FH R
- ==============================================================================
-
- Key: M = Command implementation is mandatory.
- E = Command implementation is required for SCSI devices that support
- device-independent self-configuring software.
- O = Command implementation is optional.
- R = Operation code is reserved for future standardization.
- V = Operation code is available for vendor unique commands.
- .pa
-
- .fo Section 14 #
- 14. Status
-
- A status byte shall be sent from the target to the initiator during the STATUS
- phase at the termination of each command as specified in Tables 14-1 and 14-2
- unless the command is cleared by an ABORT message, by a BUS DEVICE RESET
- message, or by a "hard" RESET condition.
-
- Table 14-1
- Status Byte
-
- ==============================================================================
- Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ==============================================================================
- 0 |Reserved| Vendor Unique | Status Byte Code | V |
- ==============================================================================
-
-
- Table 14-2
- Status Byte Code Bit Values
-
- ==============================================================================
- Bits of Status Byte
- -----------------------------
- 7 6 5 4 3 2 1 0 Status(es) Represented
- ------------------------------------------------------------------------------
- R V V 0 0 0 0 V GOOD
- R V V 0 0 0 1 V CHECK CONDITION
- R V V 0 0 1 0 V CONDITION MET/GOOD
- R V V 0 0 1 1 V Reserved
-
- R V V 0 1 0 0 V BUSY
- R V V 0 1 0 1 V Reserved
- R V V 0 1 1 0 V Reserved
- R V V 0 1 1 1 V Reserved
-
- R V V 1 0 0 0 V INTERMEDIATE/GOOD
- R V V 1 0 0 1 V Reserved
- R V V 1 0 1 0 V INTERMEDIATE/CONDITION MET/GOOD
- R V V 1 0 1 1 V Reserved
-
- R V V 1 1 0 0 V RESERVATION CONFLICT
- R V V 1 1 0 1 V Reserved
- R V V 1 1 1 0 V Reserved
- R V V 1 1 1 1 V Reserved
- ==============================================================================
-
- Key: R - Reserved bit
- V - Vendor unique bit
- .pa
-
- A description of the status byte codes is given below:
-
- GOOD. This status indicates that the target has successfully completed the
- command.
-
- CHECK CONDITION. Any error, exception, or abnormal condition that causes
- sense data to be set, shall cause a CHECK CONDITION status. The REQUEST SENSE
- command should be issued following a CHECK CONDITION status, to determine the
- nature of the condition.
-
- CONDITION MET. The SEARCH DATA commands shall return this status whenever a
- search condition is satisfied. This status does not break a chain of linked
- commands. The logical block address of the logical block that satisfies the
- search may be determined with a REQUEST SENSE command.
-
- BUSY. The target is busy. This status shall be returned whenever a target is
- unable to accept a command from an initiator. The normal initiator recovery
- action is to issue the command again at a later time.
-
- INTERMEDIATE. This status shall be returned for every command in a series of
- linked commands (except the last command), unless an error, exception, or
- abnormal condition causes a CHECK CONDITION status or a RESERVATION CONFLICT
- status to be set. If this status is not returned, the chain of linked
- commands is broken; no further commands in the series are executed.
-
- RESERVATION CONFLICT. This status shall be returned whenever an SCSI device
- attempts to access a logical unit or an extent within a logical unit that is
- reserved for that type of access to another SCSI device.
- .pa
-
-
-